< Back
# Spring Oauth Resource server and Client To configur both ```yaml spring: security: oauth2: resourceserver: jwt: issuer-uri: http://192.168.99.111:8180/auth/realms/wshop client: registration: keycloak: client-id: wshipapi client-secret: ZZBK21Ip314DcJkBoSyv1LcQcdZE5aY3 authorization-grant-type: client_credentials provider: keycloak: authorization-uri: http://192.168.99.111:8180/auth/realms/wshop/protocol/openid-connect/auth token-uri: http://192.168.99.111:8180/auth/realms/wshop/protocol/openid-connect/token user-info-uri: http://192.168.99.111:8180/auth/realms/wshop/protocol/openid-connect/userinfo user-name-attribute: sub jwk-set-uri: http://192.168.99.111:8180/auth/realms/wshop/protocol/openid-connect/certs ``` for more details : https://docs.spring.io/spring-security/reference/servlet/oauth2/client/authorization-grants.html ## Extend Security config ```java @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and().cors() .and() .authorizeHttpRequests() .mvcMatchers(HttpMethod.POST, "api/v1/product/**").hasAuthority("SCOPE_add:product") .mvcMatchers(HttpMethod.GET, "api/v1/products/**").hasAnyAuthority("SCOPE_buy:product", "SCOPE_get:product") .anyRequest().authenticated() .and() .oauth2ResourceServer().jwt() ; } } ```